package com.hcy.driver;

import com.hcy.driver.dto.request.BaseInfoRequestDTO;
import com.hcy.driver.dto.request.DriverCarInfoRequestDTO;
import com.hcy.driver.dto.response.DriverCarInfoResponseDTO;
import com.hcy.rabbitbasicmodel.model.ResponseData;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @Author huchenying
 * @Description
 * @Date 2022/3/2 23:21
 */
@FeignClient(name = "common-api")
public interface DriverBaseInfoClient {
    @PostMapping("/driver/car/driverStart")
    ResponseData<Object> driverStart(@RequestBody BaseInfoRequestDTO baseInfoRequestDTO);

    @PostMapping("/driver/car/driverEnd")
    ResponseData<Object> driverEnd(@RequestBody BaseInfoRequestDTO baseInfoRequestDTO);

    @PostMapping("/driver/car/driverCarInfo")
    ResponseData<DriverCarInfoResponseDTO> driverCarInfo(@Validated @RequestBody DriverCarInfoRequestDTO requestDTO);

    @PostMapping("/driver/car/carDriverInfo")
    ResponseData<DriverCarInfoResponseDTO> carDriverInfo(@Validated @RequestBody DriverCarInfoRequestDTO requestDTO);

    @PostMapping("/driver/car/carDriverInfoList")
    ResponseData<List<DriverCarInfoResponseDTO>> carDriverInfoList(@Validated @RequestBody DriverCarInfoRequestDTO requestDTO);
}
